package com.bringway.p2p.dao;

import java.util.List;
import java.util.Map;

import net.sf.json.JSONObject;

/*
 * 
 * @author fan
 * @className MenuCUDDao
 * @description 菜单增删改持久层dao接口
 * @date 2015年12月14日下午6:54:16
 */
public interface MenuCUDDao {
	/**
	 * @方法名称:addMenu
	 * @方法描述:添加菜单
	 * @author fan
	 * @date 2015年12月15日下午3:21:54
	 * @param parms
	 * @return
	 */
	public int addMenu(JSONObject parms);

	/**
	 * @方法名称:deleteMenu
	 * @方法描述:删除菜单
	 * @author fan
	 * @date 2015年12月15日下午3:22:13
	 * @param parms
	 * @return
	 */
	public int deleteMenu(JSONObject parms);

	/**
	 * @方法名称:updateMenu
	 * @方法描述:修改菜单
	 * @author fan
	 * @date 2015年12月16日上午9:34:14
	 * @param parms
	 * @return
	 */
	public int updateMenu(JSONObject parms);

	/**
	 * @方法名称:query
	 * @方法描述:查询---根据sql和参数集合
	 * @author fan
	 * @date 2015年12月22日上午10:58:28
	 * @param string
	 * @param parmsMap
	 * @return
	 */
	public List query(String sql, Map<String, Object> parmsMap);

	/**
	 * @方法名称:getPageCount
	 * @方法描述:获得总页数
	 * @author fan
	 * @date 2015年12月22日下午2:38:04
	 * @param sql
	 * @param hashMap
	 * @return
	 */
	public int getPageCount(String sql, Map<String, Object> parmsMap);

	/**
	 * @方法名称:updateMenuUser
	 * @方法描述:删除Menu 和User之间的关系
	 * @author fan
	 * @date 2015年12月24日下午5:31:56
	 * @param parms
	 */
	public int updateMenuUser(String sql, Map<String, String> parmsMap);

	/**
	 * 
	 * @方法名称: queryMenuRoleList
	 * @方法描述: 查询角色菜单
	 * @时间:2016年2月25日下午6:53:26
	 * @author:邵jing
	 * @param params
	 * @return
	 */
	public List queryMenuRoleList(JSONObject params);

	/**
	 * @方法名称: MenuRoleRelatinShipDel
	 * @方法描述: 角色菜单关系删除
	 * @时间:2016年2月25日下午7:23:23
	 * @author:邵jing
	 * @param params
	 */
	public void MenuRoleRelatinShipDel(JSONObject params);

	/**
	 * 
	 * @方法名称: MenuRoleRelatinShipSave
	 * @方法描述: 保存角色菜单关系
	 * @时间:2016年2月25日下午7:33:28
	 * @author:邵jing
	 * @param params
	 * @return
	 */
	public int MenuRoleRelatinShipSave(JSONObject params);
	
	/**
	 * @param params 查询系统菜单整颗树
	 * @return
	 */
	List<Map<String, Object>> queryTreeMenuList(JSONObject params);

}
